package cn.com.taurus.mapper;

import cn.com.taurus.bean.FundFundTypeFundHoldWebBean;
import cn.com.taurus.bean.RedeemMessageBean;
import cn.com.taurus.bean.RedeemMessageWebBean;
import cn.com.taurus.bean.RedeemWebBean;
import cn.com.taurus.entity.DealMessage;
import cn.com.taurus.entity.RedeemMessage;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author zhy
 * @createTime 2021-6-23 16:40:24
 * @remark Service层
 * @version 1.0
 */
@Repository
public interface RedeemMessageMapper {
    /**
     * 赎回申请管理
     * @param redeemMessage 赎回申请对象
     * @return 是否生成赎回申请成功  0:失败  1:成功
     */
    public int redeemApplication(RedeemMessage redeemMessage);
    /**
     * 赎回申请修改
     * @param redeemMessage 赎回申请对象
     * @return 是否生成赎回申请成功  0:失败  1:成功
     */
    public int redeemApplicationUpdate(RedeemMessage redeemMessage);
    /**
     * 赎回申请删除
     * @param rmId 赎回申请编号
     * @return 是否生成赎回申请删除成功  0:失败  1:成功
     */
    public int redeemApplicationDelete(Integer rmId);
    /**
     * 赎回申请查询所有
     * @return 是否查询赎回申请成功
     */
    public List<RedeemMessage> redeemApplicationSelectAll();
    /**
     * 赎回申请查询单个
     * @param rmId 赎回申请编号
     * @return 是否生成赎回申请成功  0:失败  1:成功
     */
    public RedeemMessage redeemApplicationSelectOne(Integer rmId);

    /**
     * 模糊查询
     * @param caId 客户账户编号
     * @param fId 基金编号
     * @param applyRedeem 申请赎回金额
     * @param applyTime 开始时间
     * @param time 结束时间
     * @return
     */
    public List<RedeemMessageBean> conditionSelectRedeemMessage(String caId, String fId, String applyRedeem, String applyTime, String time);

    /**
     * 查询基金基金类型
     * @param fhId
     * @return
     */
    public FundFundTypeFundHoldWebBean selectFundFundTypeFundHold(int fhId);

    /**
     * 查询未确认的赎回申请
     * @param caId
     * @return
     */
    public List<RedeemMessageWebBean> selectDealMessageCaId(Integer caId);

    /**
     * 查询赎回流水
     * @param caId
     * @return
     */
    public List<RedeemWebBean> selectRedeemRecordByCaId(Integer caId);
}
